package view;

import java.awt.BorderLayout;
import java.awt.Dimension;
import java.util.List;

import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JSplitPane;
import javax.swing.JTextArea;
import javax.swing.JTextPane;
import javax.swing.ScrollPaneConstants;

import controle.Controle;
import controle.ListenerControle;



public class PanelCentral extends JPanel implements ListenerControle {
	
	private JTextArea areaMensagem;
	private PanelEditor panelEditor;
	
	public PanelCentral() {
		Controle.getInstancia().addListener(this);
		setPreferredSize(new Dimension(900, 1000000));
		setLayout(new BorderLayout());
		addComponentes();
	}
	
	private void addComponentes() {
		panelEditor = new PanelEditor();
		
		areaMensagem = new JTextArea();
		areaMensagem.setFocusable(false);
		areaMensagem.setEditable(false);	
		JScrollPane scrollMensagem = new JScrollPane(areaMensagem);
		
		scrollMensagem.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
		scrollMensagem.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_ALWAYS);
		
		JSplitPane splitPane = new JSplitPane(JSplitPane.VERTICAL_SPLIT, panelEditor, scrollMensagem);	
		splitPane.setOneTouchExpandable(true);
		add(splitPane);
	}
	
	@Override
	public void novo() {
		areaMensagem.setText("");
	}

	@Override
	public void abrir(String nomeArq, String texto) {
		areaMensagem.setText("");
	}

	@Override
	public void salvar(String nomeArq) {
		areaMensagem.setText("");
	}

	@Override
	public void copiar() {}

	@Override
	public void colar() {}

	@Override
	public void recortar() {}

	@Override
	public void mudaTexto() {}

	@Override
	public void compilar(List<String> lista) {
		//areaMensagem.setText("");
		for(String s : lista){
			areaMensagem.setText(s);
		}
	
	}

	@Override
	public void gerarCodigo(String msg) {
	  areaMensagem.setText(msg);
	}
}
